import libnum
import gmpy2
import sympy

c= 3225860218334182860387837673801790669092953966825262735660978105775559361149717605978627949816764080472251162874971640906567221834551967731731527691385155892598969512719294232496341802411725506833653531075151274821218547277230412049775261753531311817637176997267551144528406781213129089030360220959983564778
e= 65537
d= 46506309055853350611774553203687420148184040288906036948889942558288500276548522484482085590126743675560032966703700845198298685374346191810128678942569533700081113017086308697593639654130486347370486181330902422271300690831647287666586307311328683493847959704279577807806729490428101364954009643609848871573

ed1=e*d-1
for k in range(65537,1,-1):
    if ed1%k==0:
        phi=ed1//k
        p1,s1=gmpy2.iroot(phi,2)
        p=gmpy2.next_prime(p1)
        if phi%(p-1)==0:
            q=sympy.prevprime(p)
            break
n=p*q
m=pow(c,d,n)
print(libnum.n2s(int(m)))
